package lab02.test23;
import java.util.Scanner;
/**
 * Created by Administrator on 2017/10/31.
 */
public class Test23 {
    public static void main(String[] args) {
        int sum ;
        int[] month=new int[12];
        int[] nowmonth=new int[12];
         System.out.println("请输入你的生日信息");
        Scanner input=new Scanner(System.in);
        int a=input.nextInt();
        int i=a;
        int day=input.nextInt();
        System.out.println("请输入现在的日期:XXXX年XX月XX日");
        int year=input.nextInt();
        int b=input.nextInt();
        int j=b;
        int nowday=input.nextInt();


        if((year%4==0&&year%100!=0)||year%400==0){
            sum=366;
        }
        else {
            sum=365;
        }



        for(i=1;i<=a-1;i++){//今年开年到你生日的天数
            if(i==4|i==6|i==9|i==11){
                month[i]=30;
            }
            if (i==1|i==3|i==5|i==7|i==8|i==10|i==12){
                month[i]=31;
            }
            if(i==2) {
                if((year%4==0&&year%100!=0)||year%400==0) {
                    month[i] = 29;
                }
                else {
                    month[i] = 28;
                }
            }
            day=day+month[i];
}


for (j=1;j<=b-1;j++){//今年开年到现在日期的天数
    if(j==4|j==6|j==9|j==11){
        nowmonth[j]=30;
    }
    if(j==1|j==3|j==5|j==7|j==8|j==10|j==12){
        nowmonth[j]=31;
    }
    if(j==2) {
        if((year%4==0&&year%100!=0)||year%400==0) {
            nowmonth[j] = 29;
        }
        else
            nowmonth[j] = 28;
    }
    nowday=nowmonth[j]+nowday;
}



int day1=day;int nowday1=nowday;//避免全局变量的二次改变
if (nowday1<=day1){//今年开年到你生日的天数大于今年开年到现在日期的天数
    day1=day1-nowday1;
    System.out.println("你下次生日还有天数为:"+day1);
}



if (nowday>day&&day!=60){//今年开年到你生日的天数小于今年开年到现在日期的天数，
// 且生日不为2月29日
 day=sum-nowday+day;
    System.out.println("你生日已经过了");
    System.out.println("你下次生日还有天数为:"+day);
                     }


          if(nowday>day&&day==60) {//生日为2月29日
              if (sum == 366) {//生日为2月29日，今年为闰年
                  day = 4 * 365 - nowday + 60;
                  System.out.println("你生日已经过了");
                  System.out.println("你下次生日还有天数为:" + day);
              }
                  while (true) {//生日为2月29日，今年为平年
                      int n = 0;//局部变量
                      if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
                          sum = 366;
                      }
                      else {
                          sum = 365;
                      }
                      n = n + 1;
                      if (sum == 366) {
                          day = n * 365 - nowday + 60;
                          System.out.println("你生日已经过了");
                          System.out.println("你下次生日还有天数为:" + day);
                          break;
                      }
                      year++;
                  }
              }
        int n=0;
while (true) {
    if (day == 309 +7* n||day==309-7*n) {
        System.out.println("生日是星期天");
        break;
    }
    if(day==310+7*n||day==310-7*n){
        System.out.println("生日是星期一");
        break;
    }
    if (day==311+7*n||day==311-7*n){
        System.out.println("生日是星期二");
        break;
    }
    if(day==312+7*n||day==312-7*n){
        System.out.println("生日是星期三");
        break;
    }
    if (day==313+7*n||day==313-7*n){
        System.out.println("生日是星期四");
        break;
    }if (day==314+7*n||day==314-7*n) {
        System.out.println("生日是星期五");
        break;
    }
    if (day==308+7*n||day==308-7*n) {
        System.out.println("生日是星期六");
        break;
    }
    n++;
}
          }
    }


